package com.tjec.project.esb.domain;

import com.tjec.common.utils.StringUtils;

import java.util.HashMap;

/**
 * ESB请求响应
 *
 * @author ：cjj
 * @date ：Created in 2020/10/16 10:07
 */
public class ESBAjaxResult extends HashMap<String, Object> {

    private static final long serialVersionUID = 1L;

    /** 返回内容 */
    public static final String ESB_REQ_DATA = "EsbReqData";

    /** 请求错误结果头部信息 */
    public static final String ESB_RES_HEAD = "EsbResHead";

    /** 请求错误结果头部信息 */
    public static final String ESB_RES_DATA = "EsbResData";

    /** 响应状态1代表成功、0代表失败 */
    public static final String STATUS_FLAG = "statusFlag";

    /**
     * 初始化一个新创建的 AjaxResult 对象，使其表示一个空消息。
     */
    public ESBAjaxResult()
    {
    }

    /**
     * 初始化一个新创建的 AjaxResult 对象
     *
     * @param EsbReqData 返回内容
     * @param EsbResHead 数据对象
     */
    public ESBAjaxResult(Object EsbReqData, EsbResHead EsbResHead, Object EsbResData)
    {
        if (StringUtils.isNotNull(EsbReqData))
        {
            super.put(ESB_REQ_DATA, EsbReqData);
        }
        if (StringUtils.isNotNull(EsbResHead))
        {
            super.put(ESB_RES_HEAD, EsbResHead);
        }
        if (StringUtils.isNotNull(EsbResData))
        {
            super.put(ESB_RES_DATA, EsbResData);
        }
    }

    /**
     * 返回成功消息
     *
     * @param EsbReqData
     * @return 成功消息
     */
    public static ESBAjaxResult success(Object EsbReqData)
    {
        return new ESBAjaxResult(EsbReqData, null, null);
    }

    /**
     * 返回错误消息
     *
     * @param EsbResHead 返回内容
     * @param EsbResData 数据对象
     * @return 警告消息
     */
    public static ESBAjaxResult error(EsbResHead EsbResHead, Object EsbResData)
    {
        return new ESBAjaxResult(null, EsbResHead, EsbResData);
    }
}
